namespace MultiAgentsClient.Service.WorkflowEngine;

public interface IBehaviorTreeNode
{
    Task<NodeOutcome> ExecuteNodeAsync();
}


public enum NodeOutcomeStatus
{
    Success = 1,
    Failure = 2,
    Pending = 5
}

public struct NodeOutcome
{
    public NodeOutcomeStatus Status;
    public int NextNodeIndex;

    public NodeOutcome(NodeOutcomeStatus status, int nextNodeIndex)
    {
        Status = status;
        NextNodeIndex = nextNodeIndex;
    }
}
